home *** CD-ROM | disk | FTP | other *** search
/ MPEG Toolkit / MPEG Toolkit.iso / dos / infompeg / infompeg.h < prev    next >
C/C++ Source or Header  |  1997-01-01  |  1KB  |  61 lines

  1. /*
  2.  * Header file for InfoMPEG
  3.  * Copyright (C) 1993 Dennis Lee
  4.  */
  5.  
  6. /* #define BORLAND */
  7. #define MAX_FILES         200
  8. #define MAX_CYCLE_LEN     1000
  9. #define ULONG             unsigned long
  10.  
  11. typedef enum {NO, YES}     yes_or_no;
  12. typedef enum {FALSE, TRUE} boolean;
  13.  
  14. typedef struct {
  15.     long sum_frames;       /* number of frames of one type */
  16.     long sum_frame_len;    /* number of bytes for all frames of one type */
  17.     } frame_type_sums;
  18.  
  19. typedef struct {
  20.     enum {I=1,P,B} frame_type;
  21.     long frame_len;
  22.     } frame_info;
  23.  
  24. typedef struct {
  25.     char name[40];
  26.     long size;
  27.     char resolution[15];
  28.     short frames;
  29.     char frame_types_found[5];
  30.     short compression;
  31.     } file_info;
  32.  
  33. long file_offset;
  34. long total_frames;
  35. long height, width;
  36. short report_info_type;
  37. short previous_frame;
  38. char frame_types[5]={' ','I','P','B'};
  39. char frame_cycle[MAX_CYCLE_LEN];
  40. short cycle_len;
  41. boolean cycle_exists;
  42. frame_type_sums frame_sums[3];
  43. ULONG tot_len=0;          /* total uncompressed length of all MPEG streams */
  44. short num_files;
  45. file_info files[MAX_FILES];
  46.  
  47. #ifdef BORLAND
  48.   char *get_path(char *);
  49.   void expand_cmd_line(short *, char ***);
  50. #endif
  51.  
  52. void usage(void);
  53. void get_name(char *);
  54. void get_stream_res(FILE *);
  55. void get_frame_info(yes_or_no, FILE *);
  56. void next_start_code(FILE *);
  57. void init_vars(void);
  58. void report_info(char *, FILE *);
  59. void sort_files(short, short);
  60. void report_comparison(void);
  61.